package com.soo.hoo.admin.model.entity;

import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.soo.hoo.core.model.BaseEntry;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * <p>
 * 权限资源表
 * </p>
 *
 * @author 杨燚
 * @since 2023-03-21
 */
@Getter
@Setter
@TableName("t_sys_permission")
public class SysPermission extends BaseEntry {

    /**
     * 唯一标识
     */
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 父节点id
     */
    private Long parentId;

    /**
     * 权限资源名称
     * 序列化到前端的别名需改为“name"
     */
    @JSONField(name = "name")
    private String permissionName;

    /**
     * 权限资源类型；1：菜单；2：按钮
     */
    private Integer type;

    /**
     * 菜单图标名称
     */
    private String iconName;

    /**
     * 菜单图标颜色
     */
    private String iconColor;

    /**
     * 权限路由
     */
    private String url;

    /**
     * 权重，权重越高，越靠前
     */
    private Integer weight;

    /**
     * 角色描述
     */
    private String description;

    /**
     * 是否启用，默认true，已启用
     */
    private Boolean enabled;

    /**
     * 是否删除？null：未删除；有时间值：已删除
     */
    private LocalDateTime deleted;

    /**
     * 是否存在子节点
     */
    private Boolean hasChildren;


}
